Media type selection using a processor in memory

ABSTRACT

Systems, apparatuses, and methods related to image based media type selection are described. Memory systems can include multiple types of memory media. Data can be written in a type of memory media based on one or more settings applied to the data. A setting can be determined based on input received by a logic within the memory system. In an example, a method can include receiving, at logic within a memory system that comprising a plurality of memory media types, data from an image sensor coupled to the logic of the memory system, receiving input from a host, identifying one or more attributes of the data, analyzing the received input to determine an setting, generating the setting based on the analyzed input, and writing the data to a first memory media type of the plurality of memory media types based on the generated setting.

TECHNICAL FIELD

The present disclosure relates generally to semiconductor memory andmethods, and more particularly, to apparatuses, systems, and methods formedia type selection.

BACKGROUND

Memory devices are typically provided as internal, semiconductor,integrated circuits in computers or other electronic systems. There aremany different types of memory including volatile and non-volatilememory. Volatile memory can require power to maintain its data (e.g.,host data, error data, etc.) and includes random access memory (RAM),dynamic random access memory (DRAM), static random access memory (SRAM),synchronous dynamic random access memory (SDRAM), and thyristor randomaccess memory (TRAM), among others. Non-volatile memory can providepersistent data by retaining written data when not powered and caninclude NAND flash memory, NOR flash memory, and resistance variablememory such as phase change random access memory (PCRAM), resistiverandom access memory (RRAM), and magnetoresistive random access memory(MRAM), such as spin torque transfer random access memory (STT RAM),among others.

Memory devices can be coupled to a host (e.g., a host computing device)to write data, commands, and/or instructions for use by the host whilethe computer or electronic system is operating. For example, data,commands, and/or instructions can be transferred between the host andthe memory device(s) during operation of a computing or other electronicsystem.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram in the form of a computing systemincluding an apparatus including a memory system in accordance with anumber of embodiments of the present disclosure.

FIG. 2 is a functional block diagram in the form of a computing systemincluding multiple memory media types in accordance with a number ofembodiments of the present disclosure.

FIG. 3 is a diagram of a memory system including multiple memory mediatypes coupled to a host in the form of a mobile device in accordancewith a number of embodiments of the present disclosure.

FIG. 4 is a flow diagram representing an example of data based mediatype selection in accordance with a number of embodiments of the presentdisclosure.

FIG. 5 is another flow diagram representing an example of data basedmedia type selection in accordance with a number of embodiments of thepresent disclosure.

FIG. 6 is another flow diagram representing an example of data basedmedia type selection in accordance with a number of embodiments of thepresent disclosure.

FIG. 7 is a flow diagram representing an example method for data basedmedia type selection in accordance with a number of embodiments of thepresent disclosure.

DETAILED DESCRIPTION

Systems, apparatuses, and methods related to data based media typeselection are described herein. Memory systems can include multipletypes of memory media (e.g., volatile and/or non-volatile) and can writedata to the various memory media types. The data that can be written tomemory media can vary based on attributes such as source, quality of thedata, metadata, and/or information included in the data. Data receivedat the logic of the memory system can be written to a particular type ofmemory media based on one or more settings applied to the data. In anexample, a method can include receiving, at logic within a memory systemthat comprises a plurality of memory media types, first data from animage sensor coupled to the logic of the memory system, receiving, atthe logic of the memory system, input from a host, identifying, at thelogic of the memory system, one or more attributes of the first data,analyzing, at the logic of the memory system, the received input todetermine a setting, generating, at the logic of the memory system, thesetting based on the analyzed input, wherein the setting determines amemory media type of a plurality of memory media type to write the firstdata to, and writing, at the logic of the memory system, the first datato a first memory media type of the plurality of memory media typesbased on the generated setting. As used herein, writing data can includestoring data to memory media. For example, data can be stored to amemory media by writing the data to a memory media type of a memorysystem. In addition, the data can also be retrieved by a computingdevice from its place of storage.

The one or more settings can be determined based on input received atthe logic of the memory system. For instance, a particular memory mediatype can be selected from multiple tiers of memory media types based oncharacteristics of the memory media type and the settings applied to thedata based on received inputs. Characteristics of the memory media typecan include volatility, non-volatility, power usage, read/write latency,footprint, resource usage, and/or cost. As used herein, the term“setting” refers to a deterministic guideline to direct data to aparticular memory media type. For example, a setting can establish amemory media type to write data to by anticipating more frequent accessto the data or having a pre-determined or machine learned preference forfast access (e.g., a most responsive memory media type available among aplurality of memory media types).

A computing system including memory systems can include one or moredifferent memory media types which can be used to write data in acomputing system. Such data can be transferred between a host associatedwith the computing system and the logic of the memory system. The datawritten in memory media can be important or even critical to operationof the computing system and/or the host. There are various types ofmemory media, and each type of memory media includes characteristicsthat can be unique to the memory media type. As used herein, types ofmemory media can include, among others, non-volatile memory and volatilememory.

For example, non-volatile memory can provide persistent data byretaining written data when not powered, and non-volatile memory typescan include NAND flash memory, NOR flash memory, read only memory (ROM),Electrically Erasable Programmable ROM (EEPROM), Erasable ProgrammableROM (EPROM), and Storage Class Memory (SCM) that can include resistancevariable memory, such as phase change random access memory (PCRAM),three-dimensional cross-point memory (e.g., 3D XPoint™), resistiverandom access memory (RRAM), ferroelectric random access memory (FeRAM),magnetoresistive random access memory (MRAM), and programmableconductive memory, among other types of memory. Volatile memory canrequire power to maintain its data (e.g., host data, error data, etc.),and volatile memory types can include random-access memory (RAM),dynamic random access memory (DRAM), and static random access memory(SRAM), among others. The characteristics of different memory mediatypes can include features that cause tradeoffs related to performance,storage density, energy requirements read/write speed, cost, etc. Insome examples, some memory media types can be faster to read/write ascompared to other memory media types but less cost effective than othermemory media types. In other examples, memory media types can be fasteras compared to other memory media types but consume a large amount ofpower and reduce the life of a battery, while other memory media typescan be slower and consume less power.

As hosts such as mobile devices, semi-autonomous vehicles, fullyautonomous vehicles, mobile artificial intelligence systems, etc. becomemore prevalent, sensors and other devices related to computing systemsand hosts are also increasingly prevalent. For example, a host can be amobile device that includes one or more image sensors (e.g., cameras) togenerate data (e.g., photographs, video, etc.). The image sensor(s) canproduce frequent and/or large quantities of data which can be used by acomputing system, a host, a user interface corresponding to a host,and/or a user to make decisions related to the operation of the host(e.g., a memory media type to write the data). Large quantities of datacan be generated and determining a memory media type to write the datacan be tedious and error prone.

For example, some data generated and/or received can include attributes,and the attributes can be deemed desirable or undesirable based on apreference of a user and/or a host. As used herein, the term “attribute”refers to aspects of the data. Examples, of an attribute can include alocation of the sensor (relative to the host) that generated the data,data with a subject that is out of focus, a facial expression of thesubject (e.g., smiling or not smiling), facial features of the subject(e.g., red eyes or no red eyes), subject blur, pixel characteristics,pixel density, subject characteristic (sitting, standing, eyes open,etc.), data with a subject that is out of frame, undesired subjects inthe background or foreground, repetitive images of the same subject,repetitive images of the same geographical location, etc. Writingundesired (e.g., repetitive) data from an image sensor to memory mediacan occupy valuable memory media space, waste power, and/or otherwisewaste resources that could otherwise be used by desired data. Balancingthe tradeoffs between various different memory media types to write thefrequent and/or large quantities of data can be an important endeavor.

In some approaches, data can be written to a memory system based on anorder in which the data arrives from an origin or by anotherpredetermined schema and is automatically written to a particular memorymedia type. This approach can cause the retrieval and interpretation ofthe data to be slow, ineffective, costly, and/or otherwise wasteresources of the computing system (e.g., host). As a result, thetradeoffs, described herein, of a computing system writing data toparticular memory media types can become more pronounced. Saiddifferently, writing data according to a predetermined schema can resultin non-important data occupying space in a memory media type that isbetter suited for important (e.g., desired and/or critical) data, andcritical data can be confined to a media type that is slower to access.This can lead to inefficient operation of the host and/or error inretrieving critical (e.g., desired) data from memory media in the memorysystem.

As mentioned, host devices can include communicatively coupled devices(e.g., sensors) which can be intermittently or consistently generatingdata to be written to memory media type of a memory system. As storagecapability of memory systems increases and the volume of generated dataincreases, the effects of inefficient data storage becomes more tediousand pronounced. These effects can be further exacerbated by thelimitations of some approaches to read and interpret data such that thecontents can be effective, especially as the amount of data written inmemory systems and the speed at which data retrieval is expected.

In contrast, embodiments herein are directed to write data generatedfrom devices communicatively coupled to the logic of the memory system(e.g., sensors generating data) to a memory media type based on settingsdetermined at the logic of the memory system. As used herein, the term“logic” refers to circuitry configured to perform logic operations ondata stored in a memory device. The circuitry can comprise a number ofsense amplifiers and a number of compute components, which may comprisean accumulator and can be used to perform logical operations (e.g., ondata stored in a memory device). In a number of embodiments, thecircuitry can be used to perform logic operations using data stored in amemory device as it inputs and stores the results of the logicoperations back to the memory device. The circuitry can be located onthe memory device so that the logic operations can be performed withouttransferring data from the memory device.

The logic can select the memory media type based on the setting,attributes of the data, a context of the host device (e.g., ageographical location), or combinations thereof. Writing data to amemory media type based on the settings generated can determine anappropriate memory media type for the data to best utilize resources(e.g., power, space, cost, etc.). User input can be a calibrationprocess where a user establishes preferences for attribute in data. Insome embodiments, the user input can be a calibration process where auser establishes a threshold for attribute in data. Data that is aboveor below the threshold can be written to a particular memory media typeand/or discarded. A threshold can be pre-established, or machine learnedfrom input received, and a setting can be established based on thethreshold. In some embodiments, rather than being automaticallydiscarded, data can be written to a particular memory media type to belater reviewed for deletion. As more data is generated, the memorysystem can generate updated settings based on input from the host (e.g.,a user). In some embodiments, the updated setting can include newthresholds.

As mentioned, a setting can be generated at the logic of the memorysystem based on user input and the setting can be applied to thegenerated additional data. Responsive to the application of the setting,a particular memory media type can be selected and/or the generatedadditional data can be deleted or written to a selected memory mediatype to be reviewed for deletion. For example, in a context of mobiledevices, decisions related to data received from a sensor can be madequickly and efficiently, and latency in retrieval or storage can beundesirable. In such examples, data that is undesired can be deleted orwritten in a less accessible memory media (e.g., NAND) and data that isdesirable can be written to a memory media that includes quick retrievalfeatures (e.g., DRAM).

The selection of a memory media type from a plurality memory mediatypes, of which to write the data received, can be made at the logic ofthe memory system, a controller of the logic, and/or a host controller.A logic can be a processor or other circuitry which is implementedinternally on a memory (e.g., directly on a same chip as a memoryarray). The logic of the memory system can include hardware, firmware,and/or software to determine attributes of the incoming data, generatesettings, and select a memory media type to write the data. The logic ofthe memory system may save time and/or power by reducing and/oreliminating external communications. A controller of the logic can be acontroller or other circuitry which can be communicatively coupled tothe logic to determine attributes of the incoming data and select amemory media type to write the data. A host controller can be acontroller or other circuitry which can be communicatively coupled tothe logic to determine attributes of the incoming data and select amemory media type to write the data.

Embodiments herein can allow a logic of the memory system includingmultiple memory media types to selectively determine which memory mediatype is appropriate for the incoming data, based at least in part, onsettings generated at the logic based on inputs, attributes of the data,a context of the host, and/or a combination thereof. As will bedescribed herein, in some embodiments, data previously written to aparticular memory media type can be transferred to a different memorymedia type, based on time, incoming data, a change in an existingsetting, additional inputs, the generation of an updated setting, etc.

In the following detailed description of the present disclosure,reference is made to the accompanying drawings that form a part hereof,and in which is shown by way of illustration how one or more embodimentsof the disclosure can be practiced. These embodiments are described insufficient detail to enable those of ordinary skill in the art topractice the embodiments of this disclosure, and it is to be understoodthat other embodiments can be utilized and that process, electrical, andstructural changes can be made without departing from the scope of thepresent disclosure.

As used herein, designators such as “N,” etc., particularly with respectto reference numerals in the drawings, indicate that a number of theparticular feature can be included. It is also to be understood that theterminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a,” “an,” and “the” can include both singular and pluralreferents, unless the context clearly dictates otherwise. In addition,“a number of,” “at least one,” and “one or more” (e.g., a number ofmemory devices) can refer to one or more memory devices, whereas a“plurality of” is intended to refer to more than one of such things.Furthermore, the words “can” and “may” are used throughout thisapplication in a permissive sense (i.e., having the potential to, beingable to), not in a mandatory sense (i.e., must). The term “include,” andderivations thereof, means “including, but not limited to.” The terms“coupled,” and “coupling” mean to be directly or indirectly connectedphysically or for access to and movement (transmission) of commandsand/or data, as appropriate to the context.

The figures herein follow a numbering convention in which the firstdigit or digits correspond to the figure number and the remaining digitsidentify an element or component in the figure. Similar elements orcomponents between different figures can be identified by the use ofsimilar digits. For example, 106 can reference element “06” in FIG. 1,and a similar element can be referenced as 206 in FIG. 2. A group orplurality of similar elements or components can generally be referred toherein with a single element number. For example, a plurality ofreference elements 330-1, . . . , 330-N (e.g., 330-1 to 330-N) can bereferred to generally as 330. As will be appreciated, elements shown inthe various embodiments herein can be added, exchanged, and/oreliminated so as to provide a number of additional embodiments of thepresent disclosure. In addition, the proportion and/or the relativescale of the elements provided in the figures are intended to illustratecertain embodiments of the present disclosure and should not be taken ina limiting sense.

FIG. 1 is a functional block diagram in the form of a computing system100 including an apparatus including a memory system 104 in accordancewith a number of embodiments of the present disclosure. As used herein,an “apparatus” can refer to, but is not limited to, any of a variety ofstructures or combinations of structures, such as a circuit orcircuitry, a die or dice, a module or modules, a device or devices, or asystem or systems, for example. The memory system 104 can include alogic 105, host interface 108, a controller 110 (e.g., controlcircuitry, hardware, firmware, and/or software), and a plurality ofmemory media devices each including control circuitry.

FIG. 1 illustrates a non-limiting example of multiple memory media typesin the form of a DRAM 112 including control circuitry 113, SCM 114including control circuitry 115, and a NAND 116 including controlcircuitry 117. While three memory media types (e.g., DRAM 112, SCM 114,and NAND 116) are illustrated, embodiments are not so limited, and therecan be more or less than three memory media types. Further, the types ofmemory media are not limited to the three specifically illustrated(e.g., DRAM 112, SCM 114, and NAND 116) in FIG. 1, other types ofvolatile and/or non-volatile memory media types are contemplated. In anumber of embodiments, the logic 105, the controller 110, the memorymedia DRAM 112, SCM, 114, and NAND 116, and/or the host interface 108can be physically located on a single die or within a single package(e.g., a managed memory application). Also, in a number of embodiments,a memory media (e.g., memory media DRAM 112, SCM, 114, and NAND 116) canbe included on a single memory system 104.

As illustrated in FIG. 1, the logic 105 can be coupled to the hostinterface 108 and to the memory media DRAM 112, SCM, 114, and NAND 116via one or more channels and can be used to transfer data between thememory system 104 and a host 102 having a host controller 109. The hostinterface 108 can be in the form of a standardized interface. Forexample, when the memory system 104 is used for data storage in acomputing system 100, the host interface 108 can be a serial advancedtechnology attachment (SATA), peripheral component interconnect express(PCIe), or a universal serial bus (USB), a double data rate (DDR)interface, among other connectors and interfaces. In general, however,host interface 108 can provide an interface for passing control,address, data, and other signals between the memory system 104 and ahost 102 having compatible receptors for the host interface 108.

The host 102 can be a host system such as a personal laptop computer, avehicle, a desktop computer, a digital camera, a mobile telephone, aninternet-of-things (IoT) enabled device, or a memory card reader,graphics processing unit (e.g., a video card), among various other typesof hosts. The host 102 can include a system motherboard and/or backplaneand can include a number of memory access devices (e.g., a number ofprocessing resources, one or more processors, microprocessors, imageprocessor, and/or some other type of controlling circuitry). One ofordinary skill in the art will appreciate that “a processor” can intendone or more processors, such as a parallel processing system, a numberof coprocessors, etc. The host 102 can be coupled to a host interface108 of the memory system 104 by a communication channel 103.Communication channel 103 can be a wired or wireless connection.

As used herein an “IoT enabled device” can refer to devices embeddedwith electronics, software, sensors, actuators, and/or networkconnectivity which enable such devices to connect to a network and/orexchange data. Examples of IoT enabled devices include mobile phones,smart phones, tablets, phablets, computing devices, implantable devices,vehicles, home appliances, smart home devices, monitoring devices,wearable devices, devices enabling intelligent shopping systems, amongother cyber-physical systems.

In some embodiments, the host 102 can be responsible for executing anoperating system for a computing system 100 that includes the memorysystem 104. Accordingly, in some embodiments, the host 102 can beresponsible for controlling operation of the memory system 104. Forexample, the host 102 can execute instructions (e.g., in the form of anoperating system) that manage the hardware of the computing system 100such as scheduling tasks, executing applications, controllingperipherals, etc.

The computing system 100 can include separate integrated circuits or thehost 102, the memory system 104, the host interface 108, the logic 105,the controller 110, and/or the memory media DRAM 112, SCM 114, and/orNAND 116. The computing system 100 can be, for instance, a serversystem, a high-performance computing (HPC) system, and/or a portionthereof.

Although not illustrated in FIG. 1 as to not obscure the examples of thedisclosure, the memory system 104 can be communicatively coupled (e.g.,connected) to sensors which can be communicatively coupled to the host102. The term “communicatively coupled” means directly or indirectlyconnected and, unless stated otherwise, can include a wired and/orwireless connection. As used herein, the term “sensor” refers to adevice that can generate and send data and/or receive data. Someexamples of sensors can include temperature devices, imaging devices(e.g., cameras), video devices, audio devices, motion devices, IoTenabled devices (e.g., vehicle electronic control unit (ECU) devices,thermostats, bulbs, locks, security systems, toothbrushes, pet feeders,etc.), external hard drives, among others. The sensors can transmit datafor storage in the memory system 104. For example, the logic 105 can becoupled to a plurality of memory media types (e.g., the memory mediaDRAM 112, SCM, 114, and NAND 116) and receive data from the plurality ofsensors.

The logic 105 can receive data multiple times from an individual sensoror from multiple sensors. For example, the host 102 can be a mobiledevice with one or more cameras (e.g., image sensors), and the one ormore cameras can generate one or more photographs and/or videos (e.g.,data). The logic 105 can identify one or more attributes of the data.For example, the logic 105 can identify a blur (or lack thereof) of asubject (e.g., can identify if a subject is blurry), a portion of asubject that is out of frame or otherwise visually obstructed from inthe data, and/or a facial expression or feature of the subject, etc. Thelogic can receive input about data from an image sensor and, based onthe input, generate a setting to select a memory media type to write thedata. That is, the setting can determine a type of memory media to writethe data and/or the setting can determine to refrain from writing thedata (e.g., the setting can determine to delete the data).

As mentioned, a setting can be determined by input. As used herein, theterm “input” refers to information received by the memory system (e.g.,logic 105) relating to the data. Input can be received by the logic 105from a user of the host 102, from the host 102 via a user configurablesetting, and/or from a default setting of the host 102. For example, aninput can be a user discarding (e.g., deleting) data based on anattribute, a user setting the host 102 to write data to a memory mediatype or discard data based on one or more attributes, and/or selecting aparticular memory media type to write the data. The logic 105 candetermine a setting based on a pattern of input and/or a single inputreceived by a user and/or host 102.

In a non-limiting example, a user can provide input that discards datawhere the subject is blurry (e.g., a blur attribute) and refrains fromdiscarding other data (having a non-blurry attribute) allowing the logic105 to write the other data to a particular memory media type, bydiscarding blurry data and not discarding non-blurry data. The logic 105can generate a setting that includes a subject blur threshold, based onthe deletion pattern of a user, and prompt the user (e.g., and/or thehost 102) to either accept or reject the setting. If accepted, the logic105 can apply the subject blur setting to additional data generated bythe host 102 where the threshold determines if additional data should bewritten to a particular type of media or discarded (or saved to adifferent memory media type for deletion at a later time). Saiddifferently, the logic 105 can generate a setting (e.g., the subjectblur setting) based on a pattern of input that can discard data that isabove/below a blur threshold. The examples herein can describe promptinga user to accept a setting before applying the setting to additionaldata. However, it is understood that the logic 105 can apply thegenerated setting to additional data without acceptance from a user.

In another non-limiting example, a user can provide input that generatesa setting to discard data where the subject has red eyes (e.g., a redeye attribute) and refrains from discarding other data (having a non-redeye attribute) allowing the logic 105 to write the other data to aparticular memory media type, by setting the host 102 to discard alldata where the subject has red eyes. The logic 105 can generate asetting that deletes all data where the subject has red eyes. The logic105 can apply the red eye setting to additional data generated by thehost 102 and determine if the additional data should be written to aparticular type of media or discarded (or saved to a different memorymedia type for deletion at a later time). Said differently, the logic105 can generate a setting (e.g., the red eye setting) based on a singleinput set by a user that can discard data or write data to a particulartype of media. In addition, the logic 105 can generate a setting thatdeletes all data where the subject has red eyes based on a threshold(e.g., one subject has red eyes and three subjects have non-red eyes)and prompt the user (e.g., and/or the host 102) to either accept orreject the setting. If accepted, the logic 105 can apply the red eyesetting to additional data generated by the host 102.

In yet another non-limiting example, the logic 105 can receive inputwhere a portion of the data (a first photograph) from a particulargeographical location (e.g., a geographical attribute) is saved to afirst memory media type, and a second portion and third portion of thedata (e.g., a second and a third photograph) are saved to a secondmemory media type. The logic 105 can generate a setting that includes aquantity threshold of data from a particular geographical location andprompt the user (e.g., and/or the host 102) to either accept or rejectthe setting. If accepted, the logic 105 can apply the quantity thresholdsetting to additional data generated by the host 102 where the thresholddetermines if the additional data should be saved to a first memorymedia type or a second memory media type. Said differently, a user canopt to accept a setting that will refrain from writing data that includethe same geographical location (e.g., multiple photographs of aparticular landmark or building). The examples herein may describegenerating a setting based on a threshold. However, it is understoodthat the logic 105 can generate a setting without the use of athreshold.

In another non-limiting example, a user and/or the host 102 can provideinput to the logic 105 to discard data where the subject is out of frameand/or otherwise obstructed (e.g., an obstruction setting) and writeadditional data (having non-obstructed subjects) in a particular memorymedia type. The logic 105 can generate a setting that includes a subjectobstructed threshold and prompt the user (e.g., and/or the host 102) toeither accept or reject the setting. If accepted, the logic 105 canapply the subject obstruction setting to additional data generated bythe host 102 where the threshold is used to determine if additional data(e.g., additionally generated photographs) should be written to aparticular type of media or discarded (or saved to a different memorymedia type).

The logic 105 can be configured to apply one or more settings toincoming data (e.g., one or more incoming photographs). For example, thelogic 105 can apply a facial expression setting (e.g., photographs ofsmiling subjects are desired) and a subject obstruction setting (e.g., athreshold of the subject to be unobstructed) to incoming data (e.g.,photographs) generated by a camera (e.g., an image sensor). That is, theone or more settings when applicable, can be applied to the incomingdata. The data that includes an unobstructed subject and/or a smilingsubject can be written to a first memory media type such as DRAM 112.The data that includes an obstructed subject and/or a subject that isnot smiling can be written to a different memory media type such as SCM114 or NAND 116, or automatically discard. Data as described herein maybe data from an image sensor or data from other sources/devices. Forexample, data can be temperature data from a temperature device,pressure data from a pressure device, etc.

FIG. 2 is a functional block diagram in the form of a computing system201 including multiple memory media types in accordance with a number ofembodiments of the present disclosure. FIG. 2 illustrates a computingsystem 201 which includes a host 202, including a host controller 209which can be analogous to the host 102 and host controller 109 describedin connection with FIG. 1. Computing system 201 includes a logic 205within a memory system which can be analogous to the logic 105 describedin connection with FIG. 1. The computing system 201 can include imagesensor 230, which can be coupled to the host 202 and produce first data231.

The host 202 can be communicatively coupled to the sensors 230 via aphysical connection (e.g., via wiring, circuitry, etc.) or remotelycoupled (e.g., via a wireless signal, near field communication,Bluetooth, Bluetooth Low Energy, RFID, etc.). The host 202 can becommunicatively coupled to one or more memory media types via the logic205. In some embodiments, the host 202 can be communicatively coupled toexternal hard drives via a physical connection or remotely coupled. FIG.2 illustrates a non-limiting example of multiple memory media types inthe form of a DRAM 212 including control circuitry 213, SCM 214including control circuitry 215, and a NAND 216 including controlcircuitry 217. The host 202 can receive the first data 231 generated bythe image sensor 230.

The embodiment illustrated in FIG. 2 illustrates an example of the imagesensor 230 (e.g., a camera) transmitting first data 231 (e.g., one ormore photographs) to the host 202 (e.g., a mobile device) having a hostcontroller 209, where the host controller 209 receives the first data231 from the image sensor 230. The logic 205 can receive the first data231 from the host 202 and identify one or more attributes. For example,the logic 205 can identify one or more attributes by analyzing blur ofdata, determining the pixel characteristics of data, analyzing the pixeldensity of data, determining the subjects in the data, among others. Thehost can be a mobile device (e.g., a smart phone) with a display screenthat can display the first data 231 to a user. The logic 205 can receiveinput from a user and/or the host 202 and generate a setting based onthe input.

The determined setting can be based on the input from the user and/orhost 202 and applied to the data based on the attributes of the data.The data can be a photograph, video, etc. generated by a camera (e.g.,image sensor 230). A photograph can include a subject such as a human,animal, nature, etc. The attributes of the data can be related to thequality of the subjects in the data. In some embodiments, the settingcan be applied to the data based on the quality of subjects in the data.The quality can be subjective to a user and/or host 202 and can includeperceived blur of the subjects, focus of the subjects, unwanted (e.g.,unintended) subjects (humans and/or animals) in the image, and/or anopen eye status of a human or animal subject, etc. The logic 205 candetermine settings based on input from the user and/or host 202 relatedto the quality of the subject in data generated by the image sensor 230.

The setting can be determined by the logic 205 responsive to inputreceived from a user and/or host 202. In a non-limiting example, a userand/or host 202 can provide input to the logic 205 before data isreceived. The logic 205 can use the input provided by the user and/orhost 202 to determine a setting and apply the setting to the data. Inanother non-limiting example, the logic 205 can receive first data 231from an image sensor 230 and additional input about first data 231 andbased on the additional input a setting can be determined. Based on thedetermined setting, the logic 205 can select a memory media type of aplurality of memory media types to write the first data 231.

The computing system 201 can include a mobile device (e.g., the host202) and a logic 205 coupled to a memory system 204 that includes aplurality of memory media types DRAM 212, SCM 214, and NAND 216. Thelogic 205 can be configured to receive first data 231 from an imagesensor 230. The logic 205 can identify one or more attribute of thefirst data 231. The attribute can be information about a subjectincluded in the first data 231 and details about the subject (e.g., isthe subject blurry, etc.). The logic 205 can receive input from a userand/or the host 202. The input can be received by the logic 205responsive to a prompt generated by the host controller 209 and/or host202 to send the input to the logic 205.

The logic 205 can analyze the input received from a user and/or host todetermine the user and/or the host 205 preference on data. Based on theanalyzed input, the logic 205 can generate a setting to determine whichmemory media type (e.g., DRAM 212, SCM 214, and NAND 216) to write thefirst data 231. For example, the input received can be related to anamount of blurriness of the subject the user and/or host 202 prefers indata and a threshold amount of blurriness for received data can be usedto generate a setting. The logic 205 can apply the setting (e.g., thesubject blurriness setting) to the one or more identified attributes ofthe first data 231 to select a memory media type (e.g., DRAM 212, SCM214, and/or NAND 216) to write the first data 231 based on the settingand the one or more identified attributes of the first data 231.

For example, the logic 205 can write, based on the determined setting,the first data 231 to a first memory media type (e.g., DRAM 212) of theplurality of memory media types (e.g., DRAM 212, SCM 214, and NAND 216).The setting (e.g., the subject blurriness setting) can be applied toadditional data 233 received by the logic 205 from the image sensor 230.

For example, the logic 205 can receive additional data 233 from theimage sensor 230 after receiving first data 231. The logic 205 canwrite, based on the setting, the additional data 233 to one or morememory media type of the plurality of memory media types (e.g., DRAM212, SCM 214, and NAND 216). For example, the logic 205 can identify oneor more attributes of the additional data 233 and determine a firstmemory media type (e.g., DRAM 212) of the plurality of memory mediatypes (e.g., DRAM 212, SCM 214, and NAND 216) to write the additionaldata 233, based on the one or more identified attributes of theadditional data 233 and the setting. The logic 205 can receiveadditional input from a user and/or host 202. In some embodiments, thelogic 205 can receive additional input after receiving additional data233. The logic 205 can analyze the additional input to generate anupdated setting based in part on the additional input and the input. Thelogic 205 can apply the updated setting to the additional data 233 todetermine one or more memory media type of the plurality of memory mediatypes (e.g., DRAM 212, SCM 214, and NAND 216) to write the additionaldata 233.

As more data is generated by the image sensor 230, additional input canbe received by the logic 205. The additional input can be related to auser and/or host 202 preferences of data. For example, the logic 205 canbe configured to receive additional input and analyze the additionalinput to generate an updated setting. The additional input can besubstantially different than the input and can generate an updatedsetting that is substantially different from the setting. For example,the additional input can be used to identify changes to the one or morethresholds related to the attributes of data and generate an updatedsetting to apply to the additional data 233. Said differently, theadditional input can be received, by the logic 205, from a userindicating that the threshold of subject blur from the previous setting(generated based on the input) is no longer desirable. In this example,a new threshold of subject blur can be determined for the updatedsetting and applied to additional data 233. However, this disclosure isnot so limited. In some embodiments, the additional input can besubstantially similar to the input. For example, the additional inputcan be received from a user indicating that the threshold of subjectblur from the previous setting (generated based on the input) issubstantially the same. In this example, the logic 205 can generate anupdated setting that is substantially similar to the setting and applythe updated setting to the additional data 233. As used herein, the termsubstantially intends that the characteristic does not have to beabsolute but is close enough so as to achieve the characteristic. Forexample, “substantially similar” is not limited to absolutely similar.Likewise, “substantially different” is not limited to absolutelydifferent.

The change in threshold and development of an updated setting can alterthe storage location of the first data 231. For example, the first data231 can have been previously written in DRAM 212 and based on thegeneration of the updated setting from the additional input, the firstdata 231 can move from DRAM 212 to SCM 214, NAND 216, and/or discardedfrom the computing system 201.

The additional data 233 generated from the image sensor 230 can includea number of portions. Said differently, the image sensor 230 can be acamera on a mobile device host 202, and the additional data 233 can be agroup of data (e.g., a group of photographs) with different attributes.The logic 205 can be configured to apply the updated setting (generatedbased on the additional input). The logic 205 can transfer the firstdata 231 from the first memory media type (DRAM 212) to a second memorymedia type (e.g., SCM) responsive to the updated setting, write a secondportion of the additional data 233 to the first memory media type (e.g.,DRAM 212) based on the updated setting, discard a first portion of theadditional image 233 data based on the updated setting, and write athird portion of the additional data 233 to a third memory media type(e.g., NAND 216) based on the updated setting.

While the disclosure describes receiving data from a sensor, embodimentsherein are not so limited. For example, an external hard drive cantransmit first data 231 to the host 202 having a host controller 209through a physical or wireless connection, where the host controller 209receives the first data 231 from the external hard drive. The logic 205can receive the first data 231 from the host 202 and write, based on ansetting, the first data 231 to one or more memory media type of theplurality of memory media types (e.g., DRAM 212, SCM 214, and NAND 216).

FIG. 3 is a diagram of a memory system 304 including multiple memorymedia types coupled to a host 302 in the form of a mobile device inaccordance with a number of embodiments of the present disclosure. Thehost 302 can include a host controller 309 which can be analogous to thehost 102 and host controller 109 respectively described in connectionwith FIG. 1. The host 302 can be communicatively coupled to imagesensors in the form of a front camera 330-1 and a back camera 330-Nwhich can be generally referred to as the cameras 330 and be analogousto image sensor 230 described in connection with FIG. 2. The host 302can include a memory system 304 which can be analogous to memory system104 described in connection with FIG. 1 and include multiple memorymedia types. The memory system 304 can include a DRAM 312 includingcontrol circuitry 313, a SCM 314 including control circuitry 315, and aNAND 316 including control circuitry 317. Embodiments are not solimited, however, and memory system 304 can include any number orcombination of memory media types (e.g., non-volatile and/or volatile).The memory system 304 can include a logic 305 which can be analogous tologic 205 described in connection with FIG. 2.

The example host 302 is in the form of a mobile device (e.g., an IoTenabled device). an IoT enabled device can include mobile phones, smartphones, tablets, phablets, computing devices, implantable devices,vehicles, home appliances, smart home devices, monitoring devices,wearable devices, devices enabling intelligent shopping systems, amongother cyber-physical systems. The cameras 330 can include multiple typesof cameras (e.g., video or static) located on the mobile device host302. The location and/or operation of the cameras 330 can be anattribute of the data and be used to generate a setting. For example,data (e.g., photographs) generated by the front camera 330-1 can havesimilar or different settings than the back camera 330-N.

For example, a user of the mobile device 302 can provide different inputabout a user preference on photographs generated from the front camera330-1. A photograph generated from the front camera 330-1 can be aphotograph taken by the user of the user (e.g., a selfie). The inputabout such a photograph from the front camera 330-1 can reflect what auser deems desirable for a selfie style photo. Such input can be focusedon attributes such as facial expression, subject cut off (e.g., the headof the user is cut off), eyes open or closed, mouth open or closed, etc.The logic 305 can determine one or more settings based on the inputrelating to the front camera 330-1. In contrast, photos taken by theback camera 330-N can elicit different input. For example, photographsgenerated from the back camera 330-N can be of people, nature scenery,animals, other subjects, etc. The input received about photographs takenusing the back camera 330-N can be about attributes such as focus, blurof the subject, unwanted or unintentional people or, animals or subjectsin the frame, etc. Similarly, the logic 305 can determine one or moresettings based on the input relating to the back camera 330-N.

In some embodiments, the multiple settings can be generated and/orapplied based on the location of the camera 330 (e.g., image sensor)relative to the host (e.g., mobile device 302). For example, the logic305 can determine a setting that deletes data from the front camera330-1 with cut off subject(s) (e.g., a subject's head is cut off by theedge of the photograph) and write data from the front camera 330-1without cut off subject(s) to a first memory media type (e.g., DRAM 312)of a plurality of memory media types (e.g., DRAM 312, SCM 314, and NAND316). However, the logic 305 can write data from the back camera 330-Nwith cut off subject(s) a second memory media type (e.g., SCM 314) of aplurality of memory media types (e.g., DRAM 312, SCM 314, and NAND 316).

The logic 305 can receive data (e.g., photographs) from one or more ofthe cameras 330 (e.g., image sensors) and identify one or moreattributes of the data. In this example, the data is received from themobile device 302 comprising a camera lens within the cameras 330 andthe received data includes a plurality of photographs. The one or moreattributes can include a location of the cameras 330 (e.g., imagesensor) relative to the host (e.g., mobile device 302). Additionally, orinstead of, the identified attributes can be based on one or moresimilar subjects within the plurality of photographs of the data. Theone or more similar subjects can include pixel quality of the pluralityof photographs, geographical location of the plurality of photographs,blur of the plurality of photographs, pixel characteristics of theplurality of photographs, pixel density of the plurality of photographs,subjects included in the plurality of photographs, among others, orcombinations thereof.

A user of the mobile device 302 can provide input related to datareceived from the cameras 330. The logic 305 can analyze the input todetermine a user and/or host (e.g., mobile device 302) preference. Forexample, the logic 305 can determine based on the analyzed input, athreshold related to the one or more attributes of the data. A thresholdfor an attribute of a photograph generating from the front camera 330-1can be different than a threshold for an attribute of a photographgenerated by the back camera 330-N. As such, the logic 305 candetermine, based on the analyzed input, a setting including a threshold.The setting can be used to determine a memory media type of theplurality of memory media types (e.g., DRAM 312, SCM 314, and NAND 316)for the data. For example, the setting, based on the analyzed input, canbe applied to the identified attributes of the data to determine amemory media type of the plurality of memory media types to write thedata. The setting can be different based on the location of the cameras330 that generated the data. The logic 305 can write the data (e.g., thephotographs) to one of the plurality of memory media types.

In some embodiments, each setting can determine one or more memory mediatypes (e.g., DRAM 312, SCM 314, and/or NAND 316) to write the data. Forexample, a determined setting can write photographs in the data with anidentified attribute of a rock (e.g., rock setting) to a first memorymedia type (e.g., DRAM 312) and write photographs in the data without anidentified attribute of a rock to a second memory media type (e.g., SCM314). Using these methods, each setting can correspond to a plurality ofmemory media types.

The logic 305 can apply multiple settings to a photograph (and/or videoetc.) of the data received from one or more cameras 330 (e.g., imagesensors). The logic 305 can determine a memory media type to write databased on the priority of a setting in a plurality of settings. Forexample, a determined setting can write photographs in the data with anidentified attribute of a smiling subject (e.g., smile setting) to asecond memory media type (e.g., SCM 314) and write photographs in thedata without an identified attribute of a smiling subject to a firstmemory media type (e.g., DRAM 312). The logic 305 can apply both thesmile setting and the rock setting, discussed herein, to identifiedattributes of the data to determine a memory media type to write thedata. The logic 305 can prioritize a first setting (e.g., smile setting)over a second setting (e.g., rock setting) based on analyzed input. Forexample, the logic 305 can analyze input from a user and/or host (e.g.,mobile device 302) and determine that a user and/or host desires datawith an identified attribute of a smiling subject in a second memorymedia type even if other settings apply to the data. Said differently,the logic 305 can prioritize the smile setting (e.g., first setting)over the rock setting (e.g., second setting). For example, if datacontain identified attributes of both a rock and a smiling subject, thelogic can determine that the data should be written to a second memorymedia type (e.g., SCM 314) and not a first memory media type (e.g., DRAM312).

The logic 305 can apply multiple settings to data received from one ormore cameras 330 (e.g., image sensors). In a non-limiting example, afirst setting can include a first threshold, and responsive to receivinga first photograph from first data the logic 305 can determine if thefirst photograph is above or below a first threshold corresponding tothe first setting. If the first photograph has attributes that are abovethe first threshold corresponding to the first setting, the logic 305can write the first photograph to a first memory media type (e.g., DRAM312). If the first photograph is below the first threshold correspondingto the first setting, the logic 305 can write the first photograph to asecond or third memory media type (e.g., SCM 314 or NAND 316).

Continuing with the previous example, a second setting can include asecond threshold, and responsive to receiving a second photograph fromthe first data the logic 305 can determine if attributes of the secondphotograph is above or below a second threshold corresponding to thesecond setting. If the second photograph has attributes that are abovethe threshold corresponding to the second setting the logic 305 canwrite the second photograph to a second memory media type (e.g., SCM314). If attributes of the second photograph are below the secondthreshold corresponding to the second setting the logic 305 can writethe second photograph to a third memory media type (e.g., NAND 316).

In other embodiments, the logic 305 can refrain from writing the data(e.g., delete the data) and/or write the data in a particular memorymedia type (e.g., DRAM 312, SCM 314, and/or NAND 316) to be potentiallydeleted from the mobile device 302 responsive to review by a user. Forexample, the logic 305 can apply one or more settings to a plurality ofphotographs of the data generated from one or more cameras 330. Theplurality of photographs of the data can be written as described aboveto particular memory media types based on the thresholds of the appliedsettings, and responsive to a determination that the attributes of aportion of the plurality of photographs are not desired (e.g., blurry,unwanted subjects, etc.) the logic 305 can write the data to aparticular memory media type (e.g., NAND 316) to be reviewed by a userof the mobile device 302 for deletion and/or refrain from writing thedata.

FIG. 4 is a flow diagram 439 representing an example of data based mediatype selection in accordance with a number of embodiments of the presentdisclosure. FIG. 4 describes an example of a generation of a settingbased on input from a user and/or a host (e.g., the host 202 of FIG. 2).

In an embodiment described in connection with FIG. 4, a host controller(e.g., the host controller 209) can be coupled to a host device such asa mobile device (e.g., mobile device 302 of FIG. 3). A memory system(e.g., the memory system 104 of FIG. 1) including a plurality of memorymedia types (e.g., DRAM 112, SCM 114, and NAND 116, of FIG. 1) caninclude a logic (e.g., the logic 205 of FIG. 2). At 440, the flowdiagram 439, includes a logic configured to receive data. The data(e.g., one or more photographs) can be generated from one or more imagesensors (e.g., the cameras 330 of FIG. 3) coupled to the host. The datacan include one or more one or more attributes.

At 441, the flow diagram 439 describes the logic can identify attributesof the data. For example, the logic can identify attributes such as alevel of blur of a subject or a facial expression of a subject. Thelogic can prompt a user and/or a host for input about the attributes ofthe data to determine a user preference about the attributes of thedata.

At 442, the flow diagram 439 includes describing the logic to receivethe input from a user and/or host. A user and/or host can provide inputto the logic in a variety of ways. For example, the user can provideinformation related to user preferences to the host, the host can promptthe user to provide a series of selections relating to the userspreferences, the host can receive data and the user can selectphotographs (and/or video etc.) within the data that meets thepreference of the user.

At 443, the flow diagram 439 describes the logic can analyze the inputto determine a user preference on writing data to memory media types.For example, the data can be a photograph of a smiling baby. The inputcan be a user input that photographs of a smiling baby should be writtenin a particular memory media type. The logic can analyze the input anddetermine the user prefer photographs of with a smiling baby inparticular memory media type. In another example, the user can cause thelogic to write five out of eight photographs including a smiling baby toa first memory media type and write the remaining three photographsincluding a non-smiling baby to a second memory media type and/ordiscarded the remaining three photographs. The logic can analyze theinput provided by the user and determine the user prefers data with asmiling baby in a first memory media type and data with a non-smilingbaby in a second memory media type and/or discarded.

At 444, the logic can generate a setting based on the analyzed input.The setting can be related to data preference of a user and candetermine the memory media type to write the data. For example, thelogic can determine that a user prefers data with a smiling baby in afirst memory media type and data with a non-smiling baby in a secondmemory media type and/or discarded. Based on the analyzed inputdetermining a user preference, the logic can generate an setting thatreceived data with smiling baby should be written to a first memorymedia type and received data with a non-smiling baby should be writtento a second memory media type and/or discarded.

At 445, the flow diagram 439 describes the logic can select a memorymedia type to write the data based on the setting and the identifiedattributes. Continuing with the previous example, the logic candetermine, based on the identified attributes of the received data, thata first photograph in the received data includes an attribute of asmiling baby and a second photograph in the received data includes anon-smiling baby. The logic can apply the generated setting to the firstand second photographs of the received data and select a memory mediatype to write the first and second photographs. As such, the logic, atblock 480, can write the first photograph of the received data to afirst memory media type. In addition, at block 481, discard the secondphotograph of the received data and/or write the second photograph to asecond memory media type.

At 446, the flow diagram 439 includes describing the logic to receivethe additional input relating to data from a user and/or host. The userand/or host can provide additional input to the logic in substantiallythe same manner of providing input. At 447, the flow diagram 439includes describing the logic to analyze the received additional inputand the input. Similar to analyzing the input (e.g., at block 443), thelogic can analyze the additional inputs to determine a user preferenceon writing data to memory media types. The logic can analyze the inputand the additional input together to determine an updated userpreference on writing the data to memory media types.

At 448, the logic can determine an updated setting based on the analyzedinput and the analyzed additional input. The updated setting can berelated to the updated data preference of the user. At 448, the logiccan update the memory media type to write the data based on the updatedsetting and the identified attributes of the data. For example, if theupdated setting is substantially similar to the setting, the logic, atblock 456, can leave the first photograph, described at block 445, ofthe received data in the first memory media type. However, if theupdated setting is substantially different to the setting, the logic, atblock 457, can transfer the first photograph to a different memory mediatype or, at block 458, discard the first photograph.

FIG. 5 is another flow diagram 559 representing an example of data basedmedia type selection in accordance with a number of embodiments of thepresent disclosure. FIG. 5 describes an example of applying a settinggenerated based on input from a user and/or a host (e.g., the host 202of FIG. 2) to additional data (e.g., the additional data 233 of FIG. 2).

As described herein in connection with FIG. 4, a host controller (e.g.,the host controller 209 of FIG. 2) can be coupled to a host device suchas a mobile device (e.g., mobile device 302 of FIG. 3). A memory system(e.g., the memory system 104 of FIG. 1) including a plurality of memorymedia types (e.g., DRAM 112, SCM 114, and NAND 116, of FIG. 1) caninclude a logic (e.g., the logic 205 of FIG. 2). Settings can begenerated by the logic to write data in particular memory media types ofthe plurality of memory media types. A setting generated based on theanalyzed input can be applied to additional data. In some embodiments,the additional data can include a number of portions (e.g., a pluralityof photographs, plurality of videos, etc.).

At 550, the flow diagram 559 describes the logic can receive additionaldata. The additional data can include a number of portions. For example,the additional data can be a number of photographs generated by an imagesensor in the form of a camera (e.g., the cameras 330 of FIG. 3) coupledto a mobile device. The additional data can be received after the logicreceives a first data. The logic can identify the attributes of theadditional data, at 551. The attributes of the additional data can varywhen more than one image is generated by the cameras. For example, eachphotograph included in the additional data can have different attributes(e.g., different levels of blur, different levels of facial expressions,different subjects, etc.). As such, a generated setting including aparticular threshold for an attribute can affect each portion of theadditional data differently.

At 554, the flow diagram 559 describes the logic can determine a memorymedia type of a plurality of memory media types (e.g., DRAM, SCM, and/orNAND) to write the additional data. The logic can determine the memorymedia type by applying a setting to the attributes of each portion ofthe additional data. The logic can determine the setting based onanalyzed input and identified attributes of each portion of theadditional data. The logic can write, based on the applied setting, oneor more portions of the additional data to a memory media type, at block555, or discard one or more portions of the additional data, at block556. For example, responsive to applying the setting to the attributesof the one or more portions of additional data, the logic can write oneor more portions of the additional data to a first memory media type(e.g., DRAM). Said differently, a portion of the additional data caninclude subjects that include a facial expression (e.g., a smile) thatis at or above a threshold included in a previously established setting,and the portion of photographs of smiling subjects can be written inDRAM. Further, a different portion of the additional data can includesubjects that include a facial expression (e.g., devoid of a smile) thatis below a threshold included in a previously established setting, andthe different portion of photographs of non-smiling subjects can bediscarded or written in SCM or NAND for later disposal.

In some embodiments, at 552, the flow diagram 559 describes the logiccan receive additional input to determine user preference on data. At553, the flow diagram 559 describes the logic can analyze the additionalinput and the input to determine an updated setting. The logic can applythe updated setting to one or more portions of the additional data todetermine a memory media type to write the one or more portions ofadditional data, at 554. For example, the user can review the data thathas marked for deletion (e.g., discarded and/or written to in SCM orNAND for later disposal) and provide additional input that can generatean updated setting. For example, when additional data is received and/orwhen the user is reviewing data written in the memory device, the usercan provide additional input that changes a threshold of facialexpression (or other attribute) and generate an updated setting to applyto one or more portions of additional data.

FIG. 6 is another flow diagram 669 representing an example of data basedmedia type selection in accordance with a number of embodiments of thepresent disclosure. FIG. 6 describes an example of applying a settinggenerated based on analyzed input from a user and/or a host (e.g., thehost 202 of FIG. 2) to additional data (e.g., the additional data 233 ofFIG. 2).

As described herein in connection with FIGS. 4 and 5, a host controller(e.g., the host controller 209) can be coupled to a host device such asa mobile device (e.g., mobile device 302 of FIG. 3). A memory system(e.g., the memory system 104 of FIG. 1) including a plurality of memorymedia types (e.g., DRAM 112, SCM 114, and NAND 116, of FIG. 1) caninclude a logic (e.g., the logic 205 of FIG. 2). One or more settingscan be generated by the memory system through the logic to write data ina particular memory media type of the plurality of memory media types. Asetting generated based on the input can be applied to additional data.In some examples, the logic can receive additional input.

At 660, the logic can generate a setting based analyzed input related todata. The logic can analyze input from a user and/or host to generate asetting for received data. The generated setting can select the memorymedia type for data that the user would select if prompted. That is, thegenerated setting is established based on the user preference and isintended to predict the memory media type a user would select for data.For example, the data can be photographs generated by a camera (e.g.,the cameras 330 of FIG. 3) where the attributes of each photograph havea level of blur of the subjects. The setting generated can determinebased on the level of blur of the subjects a particular memory mediatype (e.g., DRAM, SCM, and/or NAND) to write the data. The generatedsetting can be determined based on user preferences by analyzing inputfrom a user and/or host.

At 661, the logic can select a memory media type to write the first databased on the generated setting and identified attributes of the firstdata. The logic can apply the setting to the first data, by comparingthe identified attributes to the generated setting, to select a memorymedia type for the first data. For example, the generated setting can beto write data including attributes of a smiling baby to a particularmemory media type and discard data including attributes of a cryingbaby. When the logic receives first data including an attribute of asmiling baby, the logic can write the first data to a particular memorymedia type, at 680. In contrast, when the logic receives first dataincluding an attribute of a crying baby, the logic can discard the firstdata, at 681. In some embodiments, the logic can discard the first databy writing the first data to a memory media type for later deletion.

The logic, at 662, can receive additional data. The additional data caninclude one or more portions of data, where the one or more portions ofadditional data can include different attributes than the first data.That is, the logic can receive a plurality of portions of additionalimaged data. The logic, at 663, can identify attributes of the one ormore portions of additional data. The one or more positions ofadditional data can be one or more photographs, videos, etc. The logiccan analyze one or more portions of additional data to identifyattributes such as, for example, levels of blur, facial expressions,subjects, etc. Each portion of the additional data can include differentand/or similar attributes from the other portions of additional data.

The logic, at 664, can received additional input from a user and/orhost. The additional input can be related to attributes of data. Thatis, the logic can receive additional input about attributes of the firstdata and/or the additional data. For example, the logic can receive data(e.g., first data and/or additional data) from an image sensor and auser and/or host can provide input relating to user preferences aboutthe attributes of the data. That is, the user and/or host can provideinput (e.g., input and/or additional input) about identified attributesof imaged data after first data and/or additional data is received.However, this disclosure is not so limited. In some embodiments, asdescribed herein, the user can provide input (e.g., input and/oradditional input) before data (e.g., first data and/or additional data)is received.

The logic, at 665, can analyzed the received additional input todetermine an update to the setting. At 671, the logic can be prompted toupdate and/or change the setting based on the received additional input.The logic can compare the additional input to the input to determine thedifferences. The logic can analyze the differences between the input andthe additional input to determine if the setting should be updated. Forexample, the logic can determine the frequency of each input within aset time span to determine if a user preference has changed. Based onthe determination of a changed user preference, the logic can eitherrespond yes to the prompt and, at 672, update the setting or respond noto the prompt and, at 673, refrain from updating the setting.

At 672, the logic determined that the setting should be updated toreflect the updated user preference. The logic can apply the updatedsetting to the first data previously received and determine a memorymedia type to write the additional data. For example, at 676, the logiccan transfer the first data to a different memory media type anddetermine if the additional data should be written to a memory mediatype or discarded based on the updated setting. In another non-limitingexample, at 677, the logic refrain from transferring the first data anddetermine if the additional data should be written to a memory mediatype or discarded based on the updated setting. In yet anothernon-limiting example, at 678, the logic can discard the first data anddetermine if the additional data should be written to a memory mediatype or discarded based on the updated setting.

At 673, the logic determined that the setting should not be updated dueto an unchanged user preference. The logic can apply the setting to theadditional data to determine a memory media type for the additionaldata. Since the setting has not changed the first data is nottransferred and/or written to a different memory media type. Forexample, at 674, the logic can write the additional data to a memorymedia type of a plurality of memory media types (e.g., DRAM, SCM, and/orNAND). In contrast, at 675, the logic can discard the additional dataand/or write the additional data to a memory media type for laterdeletion.

FIG. 7 is a flow diagram representing an example method 799 for imagebased media type selection in accordance with a number of embodiments ofthe present disclosure. At block 790, the method 799 can includereceiving, at the logic of the memory system (e.g., the logic 105 ofFIG. 1) coupled to a memory system (e.g., the memory system 104 ofFIG. 1) that comprises a plurality of memory media types (e.g., DRAM112, SCM 114, and NAND 116), first data (e.g., first data 231 of FIG. 2)from an image sensor (e.g., image sensor 230) coupled to the logic. Datacan be photographs, videos, etc. generated from an image sensor in theform of a camera (e.g., the cameras 330 of FIG. 3). Each of thephotographs can include attributes such as quantity of subjects withinthe plurality of photographs, pixel quality of the photographs, and ageographical location of the plurality of photographs, a quality of thesubject in the photographs, facial expression, focus of a subject, etc.

At block 791, the method 799 can include the logic receiving input froma user and/or host related to a user preference. The input from the userand/or host can be used by the logic to generate a setting. The settingcan be used to determine a memory media type of the plurality of memorymedia types to write the first data. For example, at block 792, themethod 799 can include the logic analyzing the input to determine asetting based on a user preference. For example, the logic can reviewuser input to predict which memory media type a user would write thefirst data to and determine a setting based on that prediction. At block793, the method 799 can include the logic generating a setting based onthe analyzed input. The setting can determine a memory media type towrite the first data by applying the setting to the first data.

At block 794, the method 799 can include the logic identifying one ormore attributes of the first data. The attributes of the first data canbe used by the logic to select a memory media type to write the firstdata. For example, the logic can apply the setting to the first data byapplying the setting to the attributes of the first data. Based on theattributes of the first data and the applied setting a memory media typecan be selected. The setting generated from the data can include athreshold of the attribute and based on the threshold, the first datacan be written to a memory media type.

At block 795, the method 799 can include the logic writing, based atleast in part on the applied setting, the first data to a first memorymedia type (e.g., DRAM) of the plurality of memory media types. Theapplied setting can in some embodiments change based on additionalinput. The additional input can be related additional data (e.g., theadditional data 233)

For example, the method 799 can include the logic receiving additionaldata from the image sensor coupled to the logic and identifyingattributes of the additional data. The attributes of the additional datacan be different than the attributes of the first data. In someembodiments, the attributes of the additional data can elicit additionalinput from a user and/or a host.

For example, the method 799 can include the logic receiving additionalinput about the attributes of the additional data and applying anupdated setting to the additional data. In another example, the logiccan receive additional data and apply the setting to the additional datawhen additional input is not received. In some embodiments, the logiccan receive additional input before receiving additional data.

The method 799 can include the logic transferring the first data fromthe first memory media type (DRAM) to a second memory media type (e.g.,SCM or NAND) based on the updated setting. Further, as described herein,the additional data can include one or more portions that can be writtenin memory media differently based on the updated setting. For example,the method 790 can include discarding a first portion of the additionaldata received, based at least in part on the updated setting and writinga second portion of the additional data received to a second memorymedia type (e.g., SCM or NAND) of the plurality of memory media types.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art will appreciate that anarrangement calculated to achieve the same results can be substitutedfor the specific embodiments shown. This disclosure is intended to coveradaptations or variations of one or more embodiments of the presentdisclosure. It is to be understood that the above description has beenmade in an illustrative fashion, and not a restrictive one. Combinationof the above embodiments, and other embodiments not specificallydescribed herein will be apparent to those of skill in the art uponreviewing the above description. The scope of the one or moreembodiments of the present disclosure includes other applications inwhich the above structures and processes are used. Therefore, the scopeof one or more embodiments of the present disclosure should bedetermined with reference to the appended claims, along with the fullrange of equivalents to which such claims are entitled.

In the foregoing Detailed Description, some features are groupedtogether in a single embodiment for the purpose of streamlining thedisclosure. This method of disclosure is not to be interpreted asreflecting an intention that the disclosed embodiments of the presentdisclosure have to use more features than are expressly recited in eachclaim. Rather, as the following claims reflect, inventive subject matterlies in less than all features of a single disclosed embodiment. Thus,the following claims are hereby incorporated into the DetailedDescription, with each claim standing on its own as a separateembodiment.

What is claimed is:
 1. A method, comprising: receiving, at logic withina memory system that comprises a plurality of memory media types, datafrom an image sensor coupled to the logic of the memory system;receiving, at the logic of the memory system, an input from a host;identifying, at the logic of the memory system, one or more attributesof the data from the image sensor; analyzing, at the logic of the memorysystem, the received input to determine a setting; generating, at thelogic of the memory system, the setting based on the analyzed input,wherein the setting determines a memory media type of the plurality ofmemory media types to write the data; and writing, the data to a firstmemory media type of the plurality of memory media types based at leastin part on the one or more attributes of the data from the image sensorand the input from the host.
 2. The method of claim 1, furthercomprising: receiving, at the logic of the memory system, additionaldata from the image sensor coupled to the logic of the memory system;and writing the additional data to a second media type of the pluralityof media types or discarding the additional data based at least in parton one or more attributes of the additional data from the image sensor,wherein the second media type is different from the first media type. 3.The method of claim 1, wherein identifying one or more attributescomprises at least one of: analyzing a blur of the data from the imagesensor; determining pixel characteristics of the data from the imagesensor; analyzing a pixel density of the data from the image sensor; ordetermining a subject in the data from the image sensor; or anycombination thereof.
 4. The method of claim 1, further comprising:receiving, at the logic of the memory system, a plurality of portions ofadditional data from the image sensor; identifying, at the logic of thememory system, attributes of the plurality of portions of additionaldata; and updating, at the logic of the memory system, setting fordetermining which media type of the plurality of media types isassociated with the one or more attributes based on additional inputfrom the host.
 5. The method of claim 4, further comprising discardingthe data from the sensor previously written to the first memory mediatype based on the updated setting.
 6. The method of claim 5, furthercomprising: transferring the data from the first memory media type to asecond memory media type based on the updated setting; discarding afirst portion of the plurality of portions of additional data based atleast in part on the updated setting; and writing a second portion ofthe plurality of portions of additional data to the first memory mediatype.
 7. An apparatus comprising: a memory system comprising a pluralityof memory media types; and a logic within the memory system, wherein thelogic of the memory system is configured to: receive data from an imagesensor, wherein the image sensor is coupled to the logic of the memorysystem; identify one or more attributes of the data; analyze inputreceived from a host; generate a setting based on the analyzed input,wherein the setting determines a memory media type of the plurality ofmemory media types to write the data; and write, based on the settingand the identified one or more attributes, the data to a first memorymedia type of the plurality of memory media types.
 8. The apparatus ofclaim 7, wherein the logic of the memory system is further configuredto: receive additional data from the image sensor; and write, based atleast in part on the setting, the additional data to one or more memorymedia types of the plurality of memory media types.
 9. The apparatus ofclaim 7, wherein the logic of the memory system is further configuredto: receive additional input from a host coupled to the logic of thememory system; and update the setting based in part on the additionalinput and the input.
 10. The apparatus of claim 9, wherein theadditional input and the input are substantially different, and theupdated setting and the setting are substantially different.
 11. Theapparatus of claim 9, wherein the additional input and the input aresubstantially similar, and the updated setting and the setting aresubstantially similar.
 12. The apparatus of claim 7, wherein theplurality of memory media types includes non-volatile memory andvolatile memory.
 13. A system comprising: a memory system comprising aplurality of memory media types; an image sensor coupled to the memorysystem; and a logic within the memory system, wherein the logic of thememory system is configured to: receive data from an image sensor;identify attributes of the data; analyze an input received from a host;generate a setting based on the analyzed input, wherein the settingdetermines a memory media type of the plurality of memory media types towrite the data; apply the generated setting to the identified attributesof the data; and determine, based on the applied setting, the memorymedia type of the plurality of memory media types to write the data. 14.The system of claim 13, wherein the logic of the memory system isfurther configured to write, based on the determined memory media type,the data to a first memory media type of the plurality of memory mediatypes.
 15. The system of claim 13, wherein the logic of the memorysystem is further configured to discard the data based on the determinedmemory media type.
 16. The system of claim 13, wherein: the data isreceived from a mobile device comprising a camera lens and the receiveddata includes a plurality of photographs; and the identified attributesare based on one or more similar subjects within the plurality ofphotographs, wherein the subjects include at least one of pixel qualityof the plurality of photographs, geographical location of the pluralityof photographs, blur of the plurality of photographs, pixelcharacteristics of the plurality of photographs, pixel density of theplurality of photographs, or subjects included in the plurality ofphotographs.
 17. The system of claim 13, wherein the plurality of memorymedia types includes at least one of dynamic random-access memory(DRAM), storage class memory (SCM), or NAND.
 18. The system of claim 13,wherein the logic of the memory system is further configured to:identify attributes of additional data; analyze the identify attributesof the additional data; received additional input from the host;transmit a prompt to the host coupled to the logic of the memory system,wherein the prompt is a confirmation of a change to the setting; andupdate the setting based on a received response to the prompt.
 19. Thesystem of claim 13, wherein the logic of the memory system is furtherconfigured to: identify attributes of additional data; analyze theidentify attributes of the additional data; received additional inputfrom the host; transmit a prompt to the host coupled to the logic of thememory system, wherein the prompt is a confirmation of a change to thesetting; and refrain from updating the setting based on a receivedresponse to the prompt.